package com.chen.authority.model.dto;

import com.chen.authority.common.model.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 用户 数据传输对象
 *
 * @author chengy
 * @date 2022/11/25
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class UserDto extends Dto {

    /**
     * 用户名
     */
    @NotBlank(message = "用户名不能为空")
    @ApiModelProperty(value = "用户名", required = true)
    private String username;

    /**
     * 密码
     */
    @ApiModelProperty(value = "密码", required = true)
    private String password;

    /**
     * 名称
     */
    @NotBlank(message = "名称不能为空")
    @ApiModelProperty(value = "名称", required = true)
    private String name;

    /**
     * 部门id
     */
    @ApiModelProperty("部门id")
    private Integer departmentId;

    /**
     * 岗位id
     */
    @ApiModelProperty("岗位id")
    private Integer postId;

    /**
     * 邮箱
     */
    @NotNull(message = "邮箱不能为空")
    @Email(message = "邮箱格式有误")
    @ApiModelProperty("邮箱")
    private String email;

    /**
     * 手机号
     */
    @ApiModelProperty("手机号")
    private String phoneNumber;

    /**
     * 性别（1男 0女）
     */
    @ApiModelProperty("性别（1男 0女）")
    private Integer sex;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 状态（0禁用 1启用）
     */
    @NotNull(message = "状态不能为空")
    @ApiModelProperty(value = "状态", required = true)
    private Integer status;

    /**
     * 角色id集合
     */
    @ApiModelProperty("角色id集合")
    private List<Integer> roleIds;

    /**
     * 导入角色名称
     */
    @ApiModelProperty("导入角色名称")
    private String roleName;

}
